<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xmlns:aop="http://www.springframework.org/schema/aop"
		xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans-2.0.xsd
				http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

	<aop:config>
		<aop:aspect id="afterReturningAdviceBindingTests" ref="testAspect">
			<aop:after-returning method="oneIntArg" pointcut="execution(* setAge(int)) and args(age)"/>
			<aop:after-returning method="oneObjectArg" pointcut="execution(* getAge()) and this(bean)"/>
			<aop:after-returning method="oneIntAndOneObject"
					pointcut="execution(* setAge(..)) and args(age) and this(bean)" arg-names="age,bean"/>
			<aop:after-returning method="needsJoinPoint" pointcut="execution(* getAge())"/>
			<aop:after-returning method="needsJoinPointStaticPart" pointcut="execution(* getAge())"/>
			<!-- additional tests using the returning attribute -->
			<aop:after-returning method="oneString" returning="name" pointcut="execution(* getName())"/>
			<aop:after-returning method="oneObjectArg" returning="bean" pointcut="execution(* returnsThis())"/>
			<aop:after-returning method="oneTestBeanArg" returning="bean" pointcut="execution(* returnsThis())"/>
			<aop:after-returning method="testBeanArrayArg" returning="beans"
					pointcut="execution(org.springframework.beans.testfixture.beans.ITestBean[] *(..))"/>
			<aop:after-returning method="oneString" returning="name" pointcut="execution(* getSpouse())"/>
			<aop:after-returning method="objectMatchNoArgs" returning="java.lang.Object"
					pointcut="execution(* returnsThis())"/>
			<aop:after-returning method="stringMatchNoArgs" returning="java.lang.String"
					pointcut="execution(* getSpouse())"/>
			<aop:after-returning method="oneInt" returning="result" pointcut="execution(* haveBirthday())"/>
		</aop:aspect>
	</aop:config>

	<bean id="testAspect" class="org.springframework.aop.aspectj.AfterReturningAdviceBindingTestAspect"/>

	<bean id="testBean" class="org.springframework.beans.testfixture.beans.TestBean"/>

</beans>
